package com.edushare.common.constants;



/**
 * Constants used uniquely over application
 * @author Naishe
 *
 */
public class ApplicationConstants {
	
	public static final String APPLICATION_NAME 				= "EduCreek";	
	
	//Image sizes
	public static final int IMAGE_WIDTH_ICON 					= 50;
	public static final int IMAGE_HEIGHT_ICON 					= 50;
	public static String FILE_SUFFIX_ICON 						= "icon";
	public static final int IMAGE_WIDTH_VBADGE 					= 150;
	public static String FILE_SUFFIX_VBADGE 					= "vbadge";
	public static final int IMAGE_WIDTH_HBADGE 					= 160;
	public static final int IMAGE_HEIGHT_HBADGE 				= 160;
	public static String FILE_SUFFIX_HBADGE 					= "hbadge";
	public static final int IMAGE_WIDTH_THUMB 					= 120;
	public static final int IMAGE_HEIGHT_THUMB 					= 90;
	public static String FILE_SUFFIX_THUMB 						= "thumb";
	
	
	/** User input constraints */
	public static final int MAX_PHONE_NUM_LENGTH 				= 19;
	public static final int MIN_USERNAME_LENGTH 				= 4;
	public static final int MIN_PASSWORD_LENGTH 				= 6;
	public static final int MAX_DESC_SIZE 						= 9000;
	public static final int MAX_MSG_SIZE 						= 900;
	public static final int MAX_TEXT_FIELD_SIZE 				= 350;
	
	/** display constraints */
	public static final int TAG_BADGE_CHAR_LIMIT 				= 50;
	
	/** 
	 * Pattern to be used all over the application wherever unique name to be used
	 * It can contain one or more alphanumeric characters, underscores, hyphens and dots
	 */
	//Well, dot is creating conflicting URL so... is not acceptable, for the time being
	public static final String UNIQUE_NAME_PATTERN 				= "[A-Za-z0-9_\\-]+";
	public static final String DATE_FORMAT 						= "MMM dd, yyyy";
	public static final String TIMESTAMP_FORMAT 				= "MMM dd, yyyy hh:mm a";
	public static final String PHONE_NUMBER_PATTERN 			= "[0-9\\-\\+\\s]+";
	
	/** Upload permission for files uploaded or directories that hold the files */
	public static final Integer FILE_DIR_PERMISSION_TYPE_PUBLIC 		= 10;
	public static final Integer FILE_DIR_PERMISSION_TYPE_SHARED 		= 20;
	public static final Integer FILE_DIR_PERMISSION_TYPE_PRIVATE 		= 30;
	public static final int MAX_FILES_UPLOADABLE 						= 5;
	public static final Integer MAX_DIR_DEPTH 							= 3;
	
	/** Pagination parameters */
	public static final Integer PAGE_SIZE 								= 20;
	public static final Integer SORT_ORDER_DESCENDING 					= 1;
	public static final Integer SORT_ORDER_ASCENDING 					= 2;
	public static final Integer PAGE_SIZE_THREE_A_ROW 					= 21;
	
	/** JavaScript file path included by using JSHeaderContribution **/
	public static final String JSPATH_JQUERY 				= "js/jq/jquery-1.4.2.min.js";
	
	/** Poll-related **/
	public static final Integer SHORT_QUESTION_LENGTH					= 255;
	public static final Integer LONG_QUESTION_LENGTH					= 4000;
	
}
